Not applicable.
Not applicable.
1. Field of the Invention
The present invention generally relates to a management system for a personal computer or server. More particularly, the invention relates to a management system that facilitates the transfer of input/output signals from a remotely-located management console to the computer being managed, so that input devices and peripheral devices at the remote management console can be used to provide data to the computer being managed as if those devices were connected as peripherals of the computer being managed. Still more particularly, the present invention relates to a system in which a personal computer or server couples to a management sub-system via a Universal Serial Bus (xe2x80x9cUSBxe2x80x9d), and the management sub-system couples to a management console via a suitable connection, so that input/output devices and peripherals at the management console appear as input/output devices and peripherals of the personal computer or server being managed.
2. Background of the Invention
This invention involves the controlling of a personal computer or server using a virtual management console that is remotely located from the computer or server being managed (also referred to as xe2x80x9cmanaged serverxe2x80x9d or xe2x80x9chost computerxe2x80x9d). The concept of controlling a computer from a virtual remote terminal is of great interest in many applications, especially in computer networks and in other situations where a user may not be able to physically access the computer. Computer networks such as LAN""s (local area networks) have become one of the most important devices for storing and sharing data in a business, and thus, computer networks are one of the most critical pieces of equipment in a business office. A failure in the computer network can cause business operations to grind to a halt. Computer networks typically comprise a plurality of personal computers and other data processing devices connected together for information exchange. At the heart of the computer network is one or more file servers. In most computer networks, file servers are responsible for administrating and storing the documents generated by each of the personal computers (PC""s) in the system. In addition to managing the network, file servers also preferably include the capability to monitor faults in the computer network. If a fault or security breach is detected, the file server provides a warning of the fault and in certain instances may, also provide diagnostic operations and may even implement corrective measures.
Files and data are maintained by a host processing system within the server. Servers are designed to provide work stations with fast access to files stored by the server. Accordingly, file servers embody a computer which responds to an operating system program (a popular operating system being, for example, WINDOWS NT(copyright), or NETWARE(copyright)) to not only orchestrate the files but also to maintain file security, file backup, or other file management features. One important aspect which flows from maintaining these functions within a server is the capability to manage the server from a remote site, and to even permit management of the server from sites remote from the network. Recently there has been a steady increase in the number of servers that are used in businesses. The trend is to place one or more servers at each location of a business, rather than using a single main frame computer at a centralized location. Typically, a company has an individual or department responsible for administering all of the file servers. In many instances, the administrator or administration department is headquartered at one site. Thus, each of the servers must either be maintained and administrated remotely or else personnel must be transported to remote offices to permit on-site management.
Numerous monitoring systems are available to automatically alert designated persons when a PC, server or software application has failed. When such a failure occurs, the persons being notified may be in a remote location and not able to directly access the failed PC. In such an instance, the person may have access to a computer that is remotely connected to the failed computer or server, but may be unable to access the failed device. These may arise either because the processor in that device has failed and will no longer respond, the application running on the failed computer does not support remote PC access, or the failed computer not have the necessary software installed to permit a remote PC to access it. Various systems exist to permit a PC to be remotely or automatically rebooted, which in many cases restores the PC to normal operation. However, network administrators are reluctant to use such systems without first determining what may have caused the failure, so that similar failures can be prevented in the future.
Operating systems may permit access to the computer or server being managed from a remote site, often call a xe2x80x9cvirtual terminal.xe2x80x9d A virtual terminal, while not physically connected to the computer or server, nonetheless allows remote control of certain operations. Products such as Compaq Server Manager(copyright) and Compaq Insight Manager(copyright), obtainable from Compaq Computer Corp., have attempted to address some of the issues involved in managing a network of distributed servers from a single, remote site. These products permit an administrator to be notified of a remote server failure, to reset the server from the remote site, and to access certain information provided on the server. Compaq""s Insight Manager(copyright) permits remote maintenance of the file server as well as local and remote notification of errors. In addition, Insight Manager(copyright) permits the file server to be re-booted from a remote location or from any system on the network. Insight Manager(copyright) also provides control facilities including diagnostic capabilities to analyze the condition of the server system configuration and to update system firmware. Insight Manager(copyright) collects and monitors server data as well as data from each client in the network and allows the network manager to act on the data from a remote location or any work station on the network. In addition, Insight Manager(copyright) includes the capability to set user defined thresholds which permit the server to monitor system parameters and to alert the network manager when an error occurs. Notification in the event of an alert or a failure is delivered in many possible ways including on-screen messages, a pager, e-mail, fax and SNMP.
It is certainly beneficial to allow remote control of certain server functions, especially those needed to reset one or more servers within a network of servers. Downtime caused by server failure may be the most costly expense incurred in running a distributed computer system. The causes of server failure or xe2x80x9ccrashxe2x80x9d are numerous. Any number of malfunctions or design flaws associated with the server hardware, server operating system or application programs running on a server may cause a server to crash. If a server crashes, then file access is often lost and business records are temporarily inaccessible until the cause of failure is fixed.
Various other software systems have been developed that link one PC with other PC""s using modems connected over standard telephone lines either directly or via the Internet. These systems permit a host PC to be controlled by a remote PC. Function keys and menus are used in these systems to permit the remote PC to operate the host PC, as if the remote user was physically sitting at the host PC. Some examples of computer packages that function in this manner are Citrix, developed by Citrix Systems, Inc.; Crosstalk, developed by Digital Communications Associates, Inc; Procomm Plus, developed by Datastorm Technologies Inc.; or Unicom, developed by Data Graphics. In commonly assigned U.S. application Ser. No. 08/775,819, filed Dec. 31, 1996, entitled, xe2x80x9cDiagnostic Board With System Video And Keyboard For Host Server System To Permit Remote Operations In A Virtual Terminal Mode,xe2x80x9d a system management module for a host server system is disclosed that includes a system management processor connected to a system management local bus. The system management local bus connects to the system PCI bus through a system management central control unit. The system management module includes a video controller and/or keyboard and mouse controller connected to the system management local bus to support remote consoling of the system management module, even in the event that the system bus fails. The teachings of U.S. application Ser. No. 08/775,819 are incorporated herein by reference.
While these systems permit the remote user to take control of the host computer, in the sense that the remote computer can transmit certain input signals such as keyboard and mouse commands, none of these systems permit the remote computer to load software from the peripheral drives of the remote computer to the host computer, or permit the other peripheral devices that might be available on the remote computer to be used in virtually operating the host computer. Thus, if a network administrator has software to be loaded on the host computer, the administrator must gain physical access to the host computer. Because most of the various peripheral devices of the remote computer are essentially unavailable in the remote administration of a host computer, the network administrator must physically visit the host computer to perform many basic maintenance tasks that simply cannot be performed at this time remotely. Thus, for example, if new software must be loaded on a managed server, a network administrator must physically travel to the site of that server. As a result, many companies that have network facilities at different locations must employ separate network administrators at each facility or else pay for transportation between the various facilities, thus greatly increasing the cost of administering the company""s network.
It would be highly desirable to develop a virtual management console with enhanced capabilities, that could utilize the peripheral devices connected to the management console to transfer data to the host computer. As an example, it would be desirable to load a managed server with software contained on a CD-ROM that has been inserted into the CD-ROM drive of a remote management console. Despite the apparent advantages such a system would offer, to date no such system or solution has been presented in the computer industry.
The problems noted above are solved in large part by a system that includes a managed server, a management sub-system connected to the server via a USB (Universal Serial Bus) connection, and a management console that may be located remotely from the managed server and coupled to the management sub-system via a suitable communication line, such as through an Ethernet, Internet, or Intranet connection. The management sub-system includes a composite USB function logic that presents an interface to the managed server indicating that multiple peripheral devices are available. The management sub-system includes a processor and memory for running USB device emulator software that controls the operation of the USB function logic, thus presenting to the managed server that various USB peripherals are available on that particular USB hub. The management sub-system also includes a device emulation communication agent for communicating with the management console over the communication line.
The remote management console may include a variety of conventional peripheral devices, including for example, a keyboard, mouse, CD-ROM drive, DVD-ROM drive, floppy drive, printer and monitor. The USB device emulator software, in conjunction with the composite USB function logic, informs the managed server that the peripheral devices present on the remote management console are available and coupled to the managed server on the USB bus. Thus the USB device emulator and composite USB function logic transmit appropriate USB-compatible signals to a USB controller in the managed server to inform the managed server of the presence and identity of these various peripheral devices.
Once these peripheral devices at the management console have been identified by the USB driver in the managed computer, signals are routed by the device emulation communication agent between the management sub-system and the management console. The remote management console includes a remote management application that interacts with the remote user, and which translates signals from the various peripheral devices, such as the CD-ROM drive, to an appropriate format for transmission to the management sub-system over the communication line. The device emulation communication agent and USB device emulator software translate these signals into a USB format for transmission to the managed server. Thus, by emulating USB peripheral devices through an appropriate composite USB function logic and supporting software, the peripheral devices at the remote management console may be used in a virtual mode, as if the peripheral devices were physically connected to the managed server on its USB bus.
In one implementation of the present invention, the management sub-system may publish a web page which can be viewed via the Internet by a user at the remote management console using web browser software. Through the USB device emulator and composite USB function logic, the user at the remote location may also use the mouse, keyboard and other input devices at the remote console to interact with the data presented on the web page. In addition, the management subsystem may present options or menu entries on the web page which may be selected by the user at the management console using input devices at the remote console. These options may include downloading software to the managed server from a peripheral drive at the remote management console, viewing or printing at the remote management console status information regarding the managed server, and various other selections that facilitate remote management of the managed server.
As an alternative, the management sub-system may transmit data to the remote management console via a direct Ethernet or telephone connection in response to a request from the remote console, or in the event that certain events occur at the server. According to the preferred embodiment, the data is formatted into menu entries or options enabling the remote user at the management console to initiate certain operations via the composite USB function logic and USB device emulator software.
According to another aspect of the present invention, the management sub-system preferably includes a device emulation communication agent that alerts the remote management console of any errors or malfunctions in the managed server, or managed network. In response, the user at the remote management console may communicate with the managed server via the composite USB function logic and associated software, thus enabling the remote user to diagnose and correct certain problems.